package 炫彩基类

import (
	common "gitee.com/go_888/xcgui/xcgui/common"
	"unsafe"
)

// SVG_加载从文件, 返回SVG句柄.
//
// ff:SVG_加载从文件
// pFileName:文件名
func SVG_加载从文件(文件名 string) int {
	r, _, _ := xSvg_LoadFile.Call(common.X文本到uintptr(文件名))
	return int(r)
}

// SVG_加载从字符串, 返回SVG句柄.
//
// ff:SVG_加载从文本
// pString:文本
func SVG_加载从文本(文本 string) int {
	r, _, _ := xSvg_LoadString.Call(W2A(文本))
	return int(r)
}

// SVG_加载从ZIP, 返回SVG句柄.
//
//
//
// ff:SVG_加载从zip
// pZipFileName:zip文件名
// pFileName:svg文件名
// pPassword:zip密码
func SVG_加载从zip(zip文件名, svg文件名, zip密码 string) int {
	r, _, _ := xSvg_LoadZip.Call(common.X文本到uintptr(zip文件名), common.X文本到uintptr(svg文件名), common.X文本到uintptr(zip密码))
	return int(r)
}

// SVG_加载从资源ZIP, 返回SVG句柄.
//
//
//
//
// ff:SVG_加载从资源zip
// id:资源ID
// pFileName:svg文件名
// pPassword:zip密码
// hModule:模块句柄
func SVG_加载从资源zip(资源ID int32, svg文件名, zip密码 string, 模块句柄 uintptr) int {
	r, _, _ := xSvg_LoadZipRes.Call(uintptr(资源ID), common.X文本到uintptr(svg文件名), common.X文本到uintptr(zip密码), 模块句柄)
	return int(r)
}

// SVG_加载从资源, 返回SVG句柄.
//
//
//
// ff:SVG_加载从资源
// id:资源ID
// pType:资源类型
// hModule:从指定模块加载
func SVG_加载从资源(资源ID int32, 资源类型 string, 从指定模块加载 uintptr) int {
	r, _, _ := xSvg_LoadRes.Call(uintptr(资源ID), common.X文本到uintptr(资源类型), 从指定模块加载)
	return int(r)
}

// SVG_置大小.
//
//
//
// ff:SVG_设置大小
// hSvg:SVG句柄
// nWidth:宽度
// nHeight:高度
func SVG_设置大小(SVG句柄 int, 宽度, 高度 int32) {
	xSvg_SetSize.Call(uintptr(SVG句柄), uintptr(宽度), uintptr(高度))
}

// SVG_取大小.
//
//
//
// ff:SVG_取大小
// hSvg:SVG句柄
// pWidth:返回宽度
// pHeight:返回高度
func SVG_取大小(SVG句柄 int, 返回宽度, 返回高度 *int32) {
	xSvg_GetSize.Call(uintptr(SVG句柄), uintptr(unsafe.Pointer(返回宽度)), uintptr(unsafe.Pointer(返回高度)))
}

// SVG_取宽度.
//
// ff:SVG_取宽度
// hSvg:SVG句柄
func SVG_取宽度(SVG句柄 int) int32 {
	r, _, _ := xSvg_GetWidth.Call(uintptr(SVG句柄))
	return int32(r)
}

// SVG_取高度.
//
// ff:SVG_取高度
// hSvg:SVG句柄
func SVG_取高度(SVG句柄 int) int32 {
	r, _, _ := xSvg_GetHeight.Call(uintptr(SVG句柄))
	return int32(r)
}

// SVG_置偏移.
//
//
//
// ff:SVG_设置偏移
// hSvg:SVG句柄
// x:x轴偏移
// y:y轴偏移
func SVG_设置偏移(SVG句柄 int, x轴偏移, y轴偏移 int32) {
	xSvg_SetPosition.Call(uintptr(SVG句柄), uintptr(x轴偏移), uintptr(y轴偏移))
}

// SVG_取偏移.
//
//
//
// ff:SVG_取偏移
// hSvg:SVG句柄
// pX:x轴偏移
// pY:y轴偏移
func SVG_取偏移(SVG句柄 int, x轴偏移, y轴偏移 *int32) {
	xSvg_GetPosition.Call(uintptr(SVG句柄), uintptr(unsafe.Pointer(x轴偏移)), uintptr(unsafe.Pointer(y轴偏移)))
}

// SVG_置偏移F.
//
//
//
// ff:SVG_设置偏移F
// hSvg:SVG句柄
// x:x轴偏移
// y:y轴偏移
func SVG_设置偏移F(SVG句柄 int, x轴偏移, y轴偏移 float32) {
	xSvg_SetPositionF.Call(uintptr(SVG句柄), common.X小数32位到uintptr(x轴偏移), common.X小数32位到uintptr(y轴偏移))
}

// SVG_取偏移F.
//
//
//
// ff:SVG_取偏移F
// hSvg:SVG句柄
// pX:x轴偏移
// pY:y轴偏移
func SVG_取偏移F(SVG句柄 int, x轴偏移, y轴偏移 *float32) {
	xSvg_GetPositionF.Call(uintptr(SVG句柄), uintptr(unsafe.Pointer(x轴偏移)), uintptr(unsafe.Pointer(y轴偏移)))
}

// SVG_取视图框.
//
//
// ff:SVG_取视图框
// hSvg:SVG句柄
// pViewBox:返回视图框
func SVG_取视图框(SVG句柄 int, 返回视图框 *X结构_矩形) {
	xSvg_GetViewBox.Call(uintptr(SVG句柄), uintptr(unsafe.Pointer(返回视图框)))
}

// SVG_启用自动销毁.
//
//
// ff:SVG_启用自动销毁
// hSvg:SVG句柄
// bEnable:自动销毁
func SVG_启用自动销毁(SVG句柄 int, 自动销毁 bool) {
	xSvg_EnableAutoDestroy.Call(uintptr(SVG句柄), common.X布尔值到uintptr(自动销毁))
}

// SVG_增加引用计数.
//
// ff:SVG_增加引用计数
// hSvg:SVG句柄
func SVG_增加引用计数(SVG句柄 int) {
	xSvg_AddRef.Call(uintptr(SVG句柄))
}

// SVG_释放引用计数.
//
// ff:SVG_释放引用计数
// hSvg:SVG句柄
func SVG_释放引用计数(SVG句柄 int) {
	xSvg_Release.Call(uintptr(SVG句柄))
}

// SVG_取引用计数.
//
// ff:SVG_取引用计数
// hSvg:SVG句柄
func SVG_取引用计数(SVG句柄 int) int32 {
	r, _, _ := xSvg_GetRefCount.Call(uintptr(SVG句柄))
	return int32(r)
}

// SVG_销毁.
//
// ff:SVG_销毁
// hSvg:SVG句柄
func SVG_销毁(SVG句柄 int) {
	xSvg_Destroy.Call(uintptr(SVG句柄))
}

// SVG_置透明度.
//
//
// ff:SVG_设置透明度
// hSvg:SVG句柄
// alpha:透明度
func SVG_设置透明度(SVG句柄 int, 透明度 byte) {
	xSvg_SetAlpha.Call(uintptr(SVG句柄), uintptr(透明度))
}

// SVG_取透明度, 返回透明度.
//
// ff:SVG_取透明度
// hSvg:SVG句柄
func SVG_取透明度(SVG句柄 int) byte {
	r, _, _ := xSvg_GetAlpha.Call(uintptr(SVG句柄))
	return byte(r)
}

// SVG_置用户填充颜色, 用户颜色将覆盖默认样式.
//
//
//
// ff:SVG_设置用户填充颜色
// hSvg:SVG句柄
// color:AGBR颜色
// bEnable:是否有效
func SVG_设置用户填充颜色(SVG句柄 int, AGBR颜色 int, 是否有效 bool) {
	xSvg_SetUserFillColor.Call(uintptr(SVG句柄), uintptr(AGBR颜色), common.X布尔值到uintptr(是否有效))
}

// SVG_置用户笔触颜色, 用户颜色将覆盖默认样式.
//
//
//
//
// ff:SVG_设置用户笔触颜色
// hSvg:SVG句柄
// color:AGBR颜色
// strokeWidth:笔触宽度
// bEnable:是否有效
func SVG_设置用户笔触颜色(SVG句柄 int, AGBR颜色 int, 笔触宽度 float32, 是否有效 bool) {
	xSvg_SetUserStrokeColor.Call(uintptr(SVG句柄), uintptr(AGBR颜色), common.X小数32位到uintptr(笔触宽度), common.X布尔值到uintptr(是否有效))
}

// SVG_取用户填充颜色.
//
//
// ff:SVG_取用户填充颜色
// hSvg:SVG句柄
// pColor:返回颜色值
func SVG_取用户填充颜色(SVG句柄 int, 返回颜色值 *int) bool {
	r, _, _ := xSvg_GetUserFillColor.Call(uintptr(SVG句柄), uintptr(unsafe.Pointer(返回颜色值)))
	return r != 0
}

// SVG_取用户笔触颜色.
//
//
//
// ff:SVG_取用户笔触颜色
// hSvg:SVG句柄
// pColor:返回颜色值
// pStrokeWidth:
func SVG_取用户笔触颜色(SVG句柄 int, 返回颜色值 *int, pStrokeWidth *float32) bool {
	r, _, _ := xSvg_GetUserStrokeColor.Call(uintptr(SVG句柄), uintptr(unsafe.Pointer(返回颜色值)), uintptr(unsafe.Pointer(pStrokeWidth)))
	return r != 0
}

// SVG_置旋转角度, 默认以自身中心点旋转.
//
//
// ff:SVG_设置旋转角度
// hSvg:SVG句柄
// angle:转角度
func SVG_设置旋转角度(SVG句柄 int, 转角度 float32) {
	xSvg_SetRotateAngle.Call(uintptr(SVG句柄), common.X小数32位到uintptr(转角度))
}

// SVG_取旋转角度, 返回旋转角度.
//
// ff:SVG_取旋转角度
// hSvg:SVG句柄
func SVG_取旋转角度(SVG句柄 int) float32 {
	_, r, _ := xSvg_GetRotateAngle.Call(uintptr(SVG句柄))
	return common.Uintptr到小数32位(r)
}

// SVG_置旋转.
//
//
//
//
//
// ff:SVG_设置旋转
// hSvg:SVG句柄
// angle:角度
// x:旋转中心点X
// y:旋转中心点Y
// bOffset:偏移方式
func SVG_设置旋转(SVG句柄 int, 角度 float32, 旋转中心点X float32, 旋转中心点Y float32, 偏移方式 bool) {
	xSvg_SetRotate.Call(uintptr(SVG句柄), common.X小数32位到uintptr(角度), common.X小数32位到uintptr(旋转中心点X), common.X小数32位到uintptr(旋转中心点Y), common.X布尔值到uintptr(偏移方式))
}

// SVG_取旋转.
//
//
//
//
//
// ff:SVG_取旋转
// hSvg:SVG句柄
// pAngle:返回角度
// pX:返回旋转中心点X
// pY:返回旋转中心点Y
// pbOffset:返回偏移方式
func SVG_取旋转(SVG句柄 int, 返回角度 *float32, 返回旋转中心点X *float32, 返回旋转中心点Y *float32, 返回偏移方式 *bool) {
	xSvg_GetRotate.Call(uintptr(SVG句柄), uintptr(unsafe.Pointer(返回角度)), uintptr(unsafe.Pointer(返回旋转中心点X)), uintptr(unsafe.Pointer(返回旋转中心点Y)), uintptr(unsafe.Pointer(返回偏移方式)))
}

// SVG_显示, 显示或隐藏.
//
//
// ff:SVG_显示
// hSvg:SVG句柄
// bShow:是否显示
func SVG_显示(SVG句柄 int, 是否显示 bool) {
	xSvg_Show.Call(uintptr(SVG句柄), common.X布尔值到uintptr(是否显示))
}

// SVG_加载从字符串W.
//
// ff:SVG_加载从文本W
// pString:文本
func SVG_加载从文本W(文本 string) int {
	r, _, _ := xSvg_LoadStringW.Call(common.X文本到uintptr(文本))
	return int(r)
}

// SVG_加载从字符串UTF8.
//
// ff:SVG_加载从文本UTF8
// pString:文本
func SVG_加载从文本UTF8(文本 string) int {
	r, _, _ := xSvg_LoadStringUtf8.Call(X文本W到UTF8(文本))
	return int(r)
}

// SVG_加载从内存ZIP.
//
//
//
// ff:SVG_加载从内存zip
// data:zip数据
// pFileName:svg文件名
// pPassword:zip密码
func SVG_加载从内存zip(zip数据 []byte, svg文件名, zip密码 string) int {
	r, _, _ := xSvg_LoadZipMem.Call(common.X字节集到uintptr(&zip数据), uintptr(len(zip数据)), common.X文本到uintptr(svg文件名), common.X文本到uintptr(zip密码))
	return int(r)
}
